//
//  PMRatchetJoint.h
//  PezMonkey
//
//  Created by Spence DiNicolantonio on 12/30/09.
//  Copyright 2009 Necrosoft. All rights reserved.
//

#import <Foundation/Foundation.h>

#import "PMCore.h"
#import "PMConstraint.h"


@interface PMRatchetJoint : PMConstraint {

}

// Property definitions of getters/setters for data members stored by backend 
// Chipmunk structure. These properties are not synthesized, because their 
// implementations are given explicitly.
@property (assign) PMFloat phase;
@property (assign) PMFloat ratchet;
@property (assign) PMFloat angle;


#pragma mark -
#pragma mark Init
- (id)initWithBodyA:(PMBody *)aBody bodyB:(PMBody *)otherBody phase:(PMFloat)phase ratchet:(PMFloat)ratchet;

#pragma mark Convenience
+ (PMRatchetJoint *)ratchetJointWithBodyA:(PMBody *)aBody bodyB:(PMBody *)otherBody phase:(PMFloat)phase ratchet:(PMFloat)ratchet;

@end
